Method and system of using information banners to communicate with users of electronic dictionaries

ABSTRACT

In one embodiment, the invention provides a method, comprising: receiving a query from a user computer device; determining what custom messages are applicable based on the query; and delivering any applicable custom messages to the user computer device. The messages may be selected and customized based on a customization control parameter. In one embodiment, the customization control parameter may include the interface language, the regional settings, and the version of the product. Advantageously, trial versions of dictionaries may have different messages from paid or non-trial versions. For example, for the trial versions, a warning message will be sent informing the user that the trial period is about to expire. Additionally, the server device has the capability to detect whether the version used by a user is bootleg or not, and send customized messages to users of bootleg versions.

This application claims the benefit of priority to U.S. PatentApplication Nos. 61/088,191 and 61/088,199 both of which were filed onAug. 12, 2008, the entire specifications of which are incorporatedherein by reference.

FIELD

Embodiments of the present invention are directed towards theimplementation of a method and system for displaying search results insearch engines, text corpora, and electronic dictionaries.

BACKGROUND

Electronic dictionaries may comprise a software program and dictionariesproper. The software program may include a shell, which provides agraphical user interface, morphology models to display inflected forms,context search that uses an index, a teaching module, etc. Thedictionaries may comprise separate units—either text or compiled files.

The software program may be installed locally on a user's computer,remotely on a server in a local area network or on a wide area networksuch the Internet. The dictionaries that the user needs to use may beindependently stored in different locations.

SUMMARY

In one embodiment, the invention provides a method, comprising:receiving a query from a user computer device; determining what custommessages are applicable based on the query; and delivering anyapplicable custom messages to the user computer device.

The messages may be selected and customized by a server device based ona customization control parameter. In one embodiment, the customizationcontrol parameter may include the interface language, the regionalsettings, and the version of the product.

Advantageously, trial or custom versions of dictionaries may havedifferent messages from paid or non-trial versions. For example, for thetrial versions, a warning message will be sent informing the user thatthe trial period is about to expire. Additionally, the server device hasthe capability to detect whether the version used by a user is bootlegor not, and send customized messages to users of bootleg versions.

BRIEF DESCRIPTION OF THE DRAWINGS

While the appended claims set forth the features of the presentinvention with particularity, the invention, together with its objectsand advantages, will be more readily appreciated from the followingdetailed description, taken in conjunction with the accompanyingdrawings, wherein:

FIG. 1 shows a high-level block diagram of a network configuration forpracticing embodiments of the invention.

FIG. 2A shows a graphical user interface (GUI) to facilitate local andonline dictionary searches, in accordance with one embodiment of theinvention.

FIG. 2B shows the search control panel of the GUI of FIG. 2A in greaterdetail.

FIG. 2C shows the search control panel of the GUI of FIG. 2A in greaterdetail.

FIG. 3 shows a flowchart of operations performed by client dictionarysoftware, in accordance with one embodiment of the invention.

FIG. 4 shows a flowchart of an algorithm for downloading additionalsearch results from the dictionaries, in accordance with one embodimentof the invention.

FIG. 5 shows a flowchart of operations performed by server dictionarysoftware, in accordance with one embodiment of the invention, in orderto deliver custom messages to a user.

FIG. 6 shows exemplary hardware for implementing a user computer deviceor a server device, in accordance with one embodiment of the invention.

DETAILED DESCRIPTION

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the invention. It will be apparent, however, to oneskilled in the art that the invention can be practiced without thesespecific details. In other instances, structures and devices are shownonly in block diagram form in order to avoid obscuring the invention.Reference in this specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the invention. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment, nor are separate or alternative embodimentsmutually exclusive of other embodiments. Moreover, various features aredescribed which may be exhibited by some embodiments and not by others.Similarly, various requirements are described which may be requirementsfor some embodiments but not other embodiments.

Broadly, embodiments of the present invention disclose a dictionarydevice that allows a user to obtain translations from additionalsources, e.g. dictionaries, only when the user really needs thesetranslations. For example, if the user has not found a suitabletranslation based on a first search of existing dictionaries, the usercan click on a link and obtain search results from additionaldictionaries. Additionally, the user can customize the list ofadditional dictionaries in accordance with the user's preferences.

Referring now to FIG. 1 of the drawings, there is shown a networkconfiguration 100 for practicing embodiments of the present invention.As will be seen, the network configuration 100 comprises a user computerdevice 102 that is coupled to a server device 104 via an intermediatenetwork 106.

In accordance with different embodiments, the intermediate network 106may comprise a local area network (LAN) or a wide area network (WAN)such as the Internet.

The user computer device 102 may comprise a general purpose computerembodied in different configurations such as a desktop personal computer(PC), or laptop computer. FIG. 6 of the drawings shows exemplaryhardware 400 for implementing the user computer device 102, inaccordance with one embodiment.

The user computer device 102 may be provisioned with software thatincludes a client dictionary application 108 to implement the techniquesdisclosed herein. The application 108 may comprises a dictionary shell110 and one or more local dictionaries 112.

The server device 104 may also be implemented using the hardware 600 ofFIG. 6. In one embodiment, the server device 104 may be provisioned withserver dictionary software 114 to implement the techniques disclosedherein. The server device may also be provisioned with one or moreremote or online dictionaries 116.

The dictionary shell 110 may provide a graphical user interface (GUI) tofacilitate searching of the local and online dictionaries. Oneembodiment of the GUI 200 is illustrated in FIG. 2. Referring to FIG. 2,the GUI comprises a search entry window 202 wherein a user can enter oneor more words defining a query. Alternatively the GUI 200 may allow theuser to select words for a query from a word list 204. In oneembodiment, the user can simply select a word 206 defining the queryfrom a text application. One or more dictionary entry windows 208 may beopened if the word is found in local or online dictionaries.

Advantageously, the local and online dictionaries that can be accessedwith the application 108 may be presented on a bookshelf 210 for aselected pair 212 of languages.

The bookshelf 210 comprises icons, each representing a particulardictionary, e.g. “Auto”, “Accounting”, “Computers”, etc. In oneembodiment, only the dictionaries whose icons are displayed on thebookshelf 210 are used for translation. In other embodiment the searchresults from other sources may be offered to the user. In someembodiments, a user may be allowed to select or choose a bookshelf froma drop-down list of bookshelves. Available bookshelves may include “AllDictionaries”, “General Dictionaries”, “Science Dictionaries”, etc. Auser may disable any dictionary on the bookshelf 210 by clicking on itsicon. A disabled dictionary is not used in translation or search eventhough it is shown on the bookshelf 210. Icons corresponding to disabledictionaries are distinguished visually e.g. they are “grayed out”, inone embodiment. One and the same dictionary may be placed on severalbookshelves. Enabling or disabling a dictionary on one bookshelf, thisdoes not affect its status on other bookshelves.

In one embodiment, the GUI 200 may include a toolbar 214 to controlsearch parameters such as a parameter to control whether all word-formsof a word are required, a parameter to control the entire text of adictionary is to be searched, to start a tutor, etc. An informationbanner 216 may be used communicate information to the user.

Referring now to FIG. 3 of the drawings, there in shown a flowchart ofoperations performed by the client dictionary application 108, inaccordance with one embodiment in order to perform a dictionary searchor query using the GUI 200. To begin the user enters a search string orquery comprising one or a combination of words. The search string may beinput using any of the input methods provided by the GUI 200. To recap,the GUI 200 provides a search entry window 202, wherein a search stringmay be entered. The GUI 200 also provides a word list 204 so that theuser can select a word therefrom to include in the search string.Further, the GUI 200 allows for a word to be selected from a textapplication so that the selected word forms part of the search string.

Responsive to entry of the search string in the manner described, theclient dictionary application 108 performs a search (also “firstsearch”) of at least one source (also “first source”) for informationresponsive to a query. The first source may comprise the localdictionaries 112.

At block 302, the result of the first search may be displayed in one ormore dictionary entry windows 208. If the user is dissatisfied with thesearch result, the user can instruct the client dictionary application108 to perform another search (also “second search”), using the GUI 200in the manner described above. This latter or second search is ofadditional dictionaries. In one embodiment the additional dictionariesmay comprise various kinds of dictionaries including translationdictionaries, monolingual dictionaries, specialized dictionaries, etc.As used herein the term “dictionary” includes local and onlineelectronic dictionaries and other intranet- or internet resources, suchas, text corpora, proprietary databases, forums, online-encyclopaediasand other resource. For translation dictionaries, a translationdirection (i.e. the source and the target languages) may be establishedeither explicitly or implicitly using the GUI 200. The second search isperformed at block 304 and the results thereof are provided at block 306via one or more dictionary entry windows 208.

In accordance with one embodiment, there may be at least two variants inwhich additional dictionaries may be located on the server device 104.In the first variant, the shell 110 “knows” about the dictionary. A linkto the dictionary is stored in the shell and may be activated by theshell 110 either automatically or optionally. This type of remotedictionary is termed “connected.” In the second variant, the dictionaryis simply located on the server device 104 which works with distributedshells which do not “know” about the dictionary. This type of remotedictionary is termed “not connected.”

In one embodiment, the user may immediately obtain the translations anddefinitions found both in the locally installed dictionaries and in theonline dictionaries. If no entries are found in the local dictionaries,the entries from the online dictionaries are displayed. Entries fromonline dictionaries may be shown in the same window as local or inseparate windows.

In one embodiment, entries from additional dictionaries may be shown asa link which allows the user to see these entries. The additionaltranslations, which are found in “not connected” dictionaries are shownby link, for example, “7 more (online entries)>>.” When the user pressesthe reference additional translations or definitions are downloaded intothe dictionary entry window.

In another embodiment, the user may set up the shell to obtaintranslations from the online dictionaries only upon clicking anappropriate link (e.g. “view entries from online dictionaries”).

In still another embodiment, the number of lookups in the disconnecteddictionaries may be restricted. For example, the user may haverestricted number of free connections and need to make a payment topermanently connect a dictionary or fulfill some other conditions. Inthis case, each dictionary on the server may be provided with a counterwhich controls the number of free dictionary lookups available to auser. Once the number of free lookups is used up, the user will still beinformed that the dictionary contains the requested word, but the userwill need to connect this dictionary to the shell in order to view theentry.

In still another embodiment, the dictionary may be “advertised.” In thiscase, together with the translations from the connected onlinedictionaries, the user will also obtain translations from the advertiseddictionary, but the counter of this dictionary will be disabled for acertain time period for promotional purposes. The entries from theadvertised dictionary may include a small advertising banner with a linkto a website with detailed information about the dictionary. In stillanother embodiment, the additional dictionary also may be free, createdby users etc. In one embodiment, additional dictionaries may be offereddepending on interface language, the regional settings, etc. In oneembodiment, additional dictionaries may be created for restricted user'sgroups. In this case the additional dictionaries are only downloaded forusers that are part of the restricted user's groups.

When connecting a dictionary to the shell, the user may select aninstallation method: the dictionary may be downloaded and installedlocally or it may be used remotely as an online dictionary, i.e. theshell will need to access the server to obtain entries from thisdictionary. The shell may also display a catalog of dictionaries locatedon the server and updated at regular intervals so that the user may seeinformation about dictionaries without visiting the correspondingwebsite, add words from the online dictionary to the wordlist (the listof entries from one or more dictionaries), and display the foundtranslations when the user points the cursor or mouse pointer to a word.

The embodiment of the invention provides the user with additional searchresults from online dictionaries and may also be viewed as a mechanismfor selling dictionary content. A dictionary may be advertised or it maybe offered when the user needs to look up words in it, i.e. when thereis a matching language pair and entry.

Additionally, the use of online dictionary greatly reduces the size ofdistribution packages. For example, when a user decides to download atrial version, the size of the distribution package matters. In stillanother embodiment, the distribution package may include only onlinedictionaries which the user may download at a later stage if required.Additionally, the user may separately download sound and media files,morphological dictionaries and application resources required forlocalization.

FIG. 4 of the drawings there is shown a flowchart of an algorithm fordownloading additional search results from the dictionaries, inaccordance with one embodiment of the invention. Referring to FIG. 4, atblock 400 a query in input into the client dictionary application 108using the GUI 200 as described. At block 402, responsive to the query, asearch is performed of local and online dictionaries. At block 404, adetermination is made as to whether dictionary entries corresponding tothe query was found in the local and online dictionaries. If dictionaryentries were found the control passes to block 406 where the entries orinformation that was found in the local and online dictionaries aredisplayed or shown to the user. This may be achieved, in one embodiment,using dictionary entry windows 208 of the GUI 200. If no entries arefound at block 404, then control passes to block 412. At block 412 theclient dictionary application 108 determines if entries or informationshould be displayed or shown from “not connected” online dictionaries.This is determination is based on user input indicating whether theadditional dictionaries should be searched or whether information fromthe additional dictionaries should be displayed, as described above.Block 414 executes in cases where it is determined that the informationfrom the “not connected” dictionaries should be shown. At block 414, theinformation from the “not connected” dictionaries is shown, in themanner already described.

In one embodiment, the invention discloses a method for providing custommessages to users. The messages are customized based on type of licenseunder which the dictionaries are provided, the dictionaries used by theclient dictionary application 108, etc.

In one embodiment, the information banner 216 may be used for displayingcustom messages sent by the server device 104 to the user. Thesemessages may include tips, advertising messages, informational messages,etc. A message may be in the form of a link to a website that containsmore information. In one embodiment, the user may close the banner 216,in which case the banner will be displayed again whenever a new messageis delivered the server device 104. The user may be allowed to disablethe banner 216, in which case it is not displayed again.

The messages may be selected and customized based on a customizationcontrol parameter. In one embodiment, the customization controlparameter may include the interface language, the regional settings, andthe version of the product. Advantageously, trial versions ofdictionaries may have different messages from paid or non-trialversions. For example, for the trial versions, a warning message will besent informing the user that the trial period is about to expire.Additionally, the server device 104 has the capability to detect whetherthe version used by a user is bootleg or not, and send customizedmessages to users of bootleg versions.

In one embodiment, the information banner 216 may be used to displaytips and advice on working with the product, to inform the user aboutnew dictionaries/releases/products, and to organize competitions andpolls. Additionally, the information banner 216 may be used tocommunicate to the users of the trial versions the benefits ofcorresponding non-trial versions. The information banner 216 may containgraphics, sound, and other media files e.g. pictures, sound files, Flashcontent, etc.

FIG. 5 shows a flowchart of operations performed by the serverdictionary software 114, in accordance with one embodiment of theinvention, in order to deliver the custom messages to a user. Referringto FIG. 5, at block 500, the client dictionary application 108 receivesa query from a user computer device 102. At block 502, the clientdictionary software 500 determines what custom messages are applicablebased on the search query. Applicable custom messages may be selected orgenerated based on interface language, regional settings, productversion, etc.

At block 504, the client dictionary application 108 delivers anyapplicable custom messages to the user computer device 102 over theintermediate network 106.

FIG. 6 of the drawings shows hardware 600 that may be used to implementthe user computer device 102 or the server device 104, in accordancewith one embodiment of the invention. Referring to FIG. 5, the hardware600 typically includes at least one processor 602 coupled to a memory604. The processor 602 may represent one or more processors (e.g.microprocessors), and the memory 604 may represent random access memory(RAM) devices comprising a main storage of the hardware 600, as well asany supplemental levels of memory, e.g., cache memories, non-volatile orback-up memories (e.g. programmable or flash memories), read-onlymemories, etc. In addition, the memory 604 may be considered to includememory storage physically located elsewhere in the hardware 600, e.g.any cache memory in the processor 602 as well as any storage capacityused as a virtual memory, e.g., as stored on a mass storage device 610.

The hardware 600 also typically receives a number of inputs and outputsfor communicating information externally. For interface with a user oroperator, the hardware 600 may include one or more user input devices506 (e.g., a keyboard, a mouse, imaging device, scanner, etc.) and a oneor more output devices 608 (e.g., a Liquid Crystal Display (LCD) panel,a sound playback device (speaker).

For additional storage, the hardware 600 may also include one or moremass storage devices 610, e.g., a floppy or other removable disk drive,a hard disk drive, a Direct Access Storage Device (DASD), an opticaldrive (e.g. a Compact Disk (CD) drive, a Digital Versatile Disk (DVD)drive, etc.) and/or a tape drive, among others. Furthermore, thehardware 600 may include an interface with one or more networks 612(e.g., a local area network (LAN), a wide area network (WAN), a wirelessnetwork, and/or the Internet among others) to permit the communicationof information with other computers coupled to the networks. It shouldbe appreciated that the hardware 500 typically includes suitable analogand/or digital interfaces between the processor 502 and each of thecomponents 604, 606, 608, and 612 as is well known in the art.

The hardware 600 operates under the control of an operating system 614,and executes various computer software applications, components,programs, objects, modules, etc. to implement the techniques describedabove. In particular, the computer software applications will includethe client dictionary application 108, in the case of the client userdevice 102, and the server dictionary software, in the case of theserver device 104. Moreover, various applications, components, programs,objects, etc., collectively indicated by reference 616 in FIG. 6, mayalso execute on one or more processors in another computer coupled tothe hardware 600 via a network 512, e.g. in a distributed computingenvironment, whereby the processing required to implement the functionsof a computer program may be allocated to multiple computers over anetwork.

In general, the routines executed to implement the embodiments of theinvention may be implemented as part of an operating system or aspecific application, component, program, object, module or sequence ofinstructions referred to as “computer programs.” The computer programstypically comprise one or more instructions set at various times invarious memory and storage devices in a computer, and that, when readand executed by one or more processors in a computer, cause the computerto perform operations necessary to execute elements involving thevarious aspects of the invention. Moreover, while the invention has beendescribed in the context of fully functioning computers and computersystems, those skilled in the art will appreciate that the variousembodiments of the invention are capable of being distributed as aprogram product in a variety of forms, and that the invention appliesequally regardless of the particular type of computer-readable mediaused to actually effect the distribution. Examples of computer-readablemedia include but are not limited to recordable type media such asvolatile and non-volatile memory devices, floppy and other removabledisks, hard disk drives, optical disks (e.g., Compact Disk Read-OnlyMemory (CD-ROMs), Digital Versatile Disks (DVDs), flash-memory etc.),among others.

While certain exemplary embodiments have been described and shown in theaccompanying drawings, it is to be understood that such embodiments aremerely illustrative and not restrictive of the broad invention and thatthis invention is not limited to the specific constructions andarrangements shown and described, since various other modifications mayoccur to those ordinarily skilled in the art upon studying thisdisclosure. In an area of technology such as this, where growth is fastand further advancements are not easily foreseen, the disclosedembodiments may be readily modifiable in arrangement and detail asfacilitated by enabling technological advancements without departingfrom the principals of the present disclosure.

1. A method, the method comprising: receiving a query from a usercomputer device; determining what custom messages are applicable basedon the query; and delivering any applicable custom messages to the usercomputer device.
 2. The method of claim 1, wherein the query comprises asearch string with which to search electronic information.
 3. The methodof claim 2, wherein the electronic information comprises an electronicdictionary.
 4. The method of claim 3, wherein determining what custommessages are applicable comprises selecting or generating the custommessages based on a customization control parameter.
 5. The method ofclaim 4, wherein the customization control parameter is selected fromthe group comprising an interface language, regional settings, andproduct version, each of which are associated with the electronicdictionary.
 6. The method of claim 3, wherein the custom messages fortrial versions of the electronic dictionary are different from thecustom messages for non-trial versions.
 7. The method of claim 3,wherein the query is generated by a client dictionary applicationinstalled on the user computer device.
 8. The method of claim 7, furthercomprising detecting whether the client dictionary application is abootleg copy; and if it is a bootleg copy then generating or selecting acustom message appropriate to the bootleg copy.
 9. The method of claim1, wherein delivering an applicable custom message comprises hosting thecustom message on a server; and sending a link to the custom message tothe user computer device.
 10. The method of claim 3, wherein anapplicable custom message comprises information selected from the groupcomprising advice on working with the electronic dictionary, informationabout new electronic dictionaries; information about new releases of theelectronic dictionary, poll information, and competition information.11. The method of claim 1, wherein an applicable message comprisescontent selected from the group comprising graphics, sound, andmultimedia.
 12. A server device, comprising a processor; and a memorycouple to the processor, the memory storing instructions which whenexecuted by the server device causes the server device to perform amethod comprising: receiving a query from a user computer device;determining what custom messages are applicable based on the query; anddelivering any applicable custom messages to the user computer device.13. The server device of claim 12, wherein the query comprises a searchstring with which to search electronic information.
 14. The serverdevice of claim 13, wherein the electronic information comprises anelectronic dictionary.
 15. The server device of claim 14, whereindetermining what custom messages are applicable comprises selecting orgenerating the custom messages based on a customization controlparameter.
 16. The server device of claim 15, wherein the customizationcontrol parameter is selected from the group comprising an interfacelanguage, regional settings, and product version, each of which areassociated with the electronic dictionary.
 17. A computer-readablemedium having stored thereon a sequence of instructions which when byexecuted by a server device causes the server device to perform amethod, comprising receiving a query from a user computer device;determining what custom messages are applicable based on the query; anddelivering any applicable custom messages to the user computer device.18. The computer-readable medium of claim 17, wherein the querycomprises a search string with which to search electronic information.19. The computer-readable medium claim 18, wherein the electronicinformation comprises an electronic dictionary.
 20. Thecomputer-readable medium of claim 19, wherein determining what custommessages are applicable comprises selecting or generating the custommessages based on a customization control parameter.